

#include "coord.h"
#include "iot_server.h"

void * recv_coord_thread(void *arg)
{
	FILE *fp = NULL;
	char vbuf[SIZE];
	node_data buf;
	int i;
	int check = 0; //未验证
	fp = fopen("uart_data.txt", "r");
	while(1) {
		bzero(vbuf, SIZE); //清空缓冲区
		if (fgets(vbuf, SIZE, fp) !=NULL) {
			// 1.将字节字符串数据转换为字节数组
			byte_to_arr(vbuf);
			sleep(1);	
			//printf("string: %s\n", vbuf);
			//for (i = 0; i < 13; i++)
			//	printf("%2x ", data_arr[i]);
			//printf("\n");

			//2.同步数据包的头
			if((data_arr[0] == '#') && (data_arr[1] == '#') &&
			   (data_arr[2] == 'I') && (data_arr[3] == 'D') &&
			   (data_arr[4] == 'T') && (data_arr[5] == 'H') ) {
				//printf("数据验证ok\n");
				//3.将字节数组转换到buf对象node_data中(去除头部数据)
				for (i = 0; i < LEN_MONI; i++) {
					buf.data[i] = data_arr[6+i];
					//printf("%2x ", buf.data[i]);

				}
				//printf("\n");	
				check = 1; //验证成功

			} 

			//3.buf对象node_data转换并保存到全局字符串缓冲区,用于发给手机移动端
			if (check == 1) {
				pthread_mutex_lock(&coord_mutex);//上锁
				bzero(send_mob_buf, SIZE);
				convert_moni_info(&buf, send_mob_buf);
				pthread_mutex_unlock(&coord_mutex);//释放锁
				check = 0;			

			}

		} else { //文件已经读到最后位置
			fseek(fp, 0, SEEK_SET); //设置文件位置指针到开始位置
		}
		
		
	}
	



}
